\section{Related Work}
\label{sec:relatedWork}

%The preamble used to wake up receivers in early works is dedicated.
%Receivers waked up by preamble send back ACK.
%After receiving an ACK, sender exchanging payload with the receiver.
A number of MAC protocols implement LPL scheme.
X-MAC \cite{bib:XMAC} is an early version default MAC protocol in TinyOS.
It adopts preamble that contains address information and inserts gaps between preamble packets.
When receiver wakes up and performs CCA, it may decode the destination address and see whether it is the intended receiver.
If it is, it uses the gap to send back an acknowledgement.
Then sender will immediately transmit the payload upon receiving ACK.
BoX-MAC-2 \cite{bib:BoXMAC}, the latest version default MAC protocol in TinyOS, further refines this method by replacing address information by entire data packet, eliminating the procedure of exchanging payload after the acknowledgement.

%Energy detection, a usual implementation of CCA, is commonly used in low power radios such as Chipcon CC2420 and generally identified as a critical feature of WSNs hardware design \cite{bib:bulidingBlock_SenSys08}.

%After waking up the radio, microcontroller samples CCA pins for certain times and regards channel as busy if certain number of samples are positive.
%In the default settings of BoX-MAC-2, the de facto standard LPL implementation of TinyOS, the energy threshold is -77dBm.
%Nodes under BoX-MAC-2 wake up and perform 400 times CCA, which takes 10ms.
%If more than 3 CCA are positive, nodes keep awake for potential packets until packet is received or after certain time, which is 100ms by default.
CCA is traditionally used in CSMA/CA for collision avoidance.
A sender sends out packets if CCA regards channel as idle; otherwise it backs off for avoiding potential collisions.
The impact of CCA threshold adopted in CSMA/CA has been studied by many works \cite{????}.
Our work is orthogonal and complementary to these works about the CCA adopted in CSMA/CA.
We do not change the CCA threshold behavior of transmissions for CSMA/CA.
We focus on improve the energy efficiency by refining the CCA performed in LPL for waking up nodes.
In the rest of this paper, without special explanation, the CCA specifically refers to the CCA used in LPL to wake up nodes.

Most existing works of CCA used for waking up node are based on a fixed threshold.
They suffer severe false wakeup problem in noisy environments since noise is easy to exceed the threshold.
\cite{bib:IPSN13EnergyLPL} notices this problem and solve it by designing ADEP, an adaptive CCA threshold-based protocol.
However, ADEP is only able to overcome the false wakeup problem caused by noise with certain strength level.
To guarantee the ZigBee signal with weaker strength will not be ignored, the largest threshold can be adopted in ADEP must be lower than the strength of weakest ZigBee signal.
ADEP will be out of action when the noise with stronger strength exists.
Contiki MAC \cite{bib:contikimac2011} tries to improve the energy efficiency by performing two CCA to filter the irregular short-interval packets.
Nevertheless, it does not break through the framework of threshold.
That makes it unable to resist to the stronger noise as the same as ADEP.
Besides, two CCA checks may both return busy channel but because of different signal sources (e.g., one is ZigBee and the other is interference).
It cannot distinguish this case and wrongly regards there is no Contiki packet and make node sleep, resulting in additional latency.
IALPL distinguish itself from aforementioned methods by designing a novel approach that detects effective ZigBee activities instead of simple high energy on the channel.
By recognizing ZigBee from ongoing transmission, IALPL is able to wake up nodes only when potential packet exists, achieving energy efficiency by overcoming false wakeup problem to maximum extent.
%
%The difference lays on that IALPL answer the question: Is there ZigBee transmitting on the channel, instead of only detecting energy on the channel.
%The aforementioned shortcomings are caused by the intrinsic limitation of threshold behavior.
%IALPL notices this and judges whether there is ZigBee transmitting on the channel or not.
%Beyond the threshold, IALPL takes advantages of characteristic RSSI sequence of ZigBee to assess the channel.

Recently, growing research works are studying the impact of interference on WSNs and enhancing the robustness of MAC protocols against interference.
\cite{bib:surviving_Sensys10} measures the impact of 802.11 interference on 802.15.4 networks and proposes redundant headers and forward error correction to alleviate packet corruption.
\cite{bib:interferenceImpact_EWSN09} studies the impact of 802.11 interference on body sensor networks and find that the position of bit errors in 802.15.4 packets are temporally correlated with 802.11 traffic.
Based on this correlation, the authors continue proposing an error recovery method that mitigates the effect of interference \cite{bib:packetRecover_EWSN10}.
These studies focus on how interference impact the whole network performance.
While IALPL focus on energy waste brought by interference and tries to leverage the interference signatures to solve the false wakeup problem.

There are lots of researches working on the problem of interference detection and classification.
DOF\cite{bib:DOF} monitor the channel activities on 2.4GHz band.
It can distinguish the technologies active on this band and counts the number of active devices of each technologies. Despite of its power, DOF is not feasible for sensor nodes since it relays on dedicated hardware and leverages algorithms which are too complex to be operated on sensor nodes.
Airshark\cite{bib:airharkIMC11}, WiFiNet\cite{bib:nsdi12Catching} are designed for WiFi devices to detect and classify the non-WiFi interference.
These works relay on the powerful hardware to get spectral information by Fast Fourier Transform algorithm (FFT), which is computational infeasible for source-limited sensor node.
Hence, IALPL must use the hardware-limited nodes without other devices help.
\cite{bib:ICC09channelinfo} scans the 16 channels to get the spectral characteristics of interference and ZigBee devices for classification.
%However, the shape's accuracy depends on simultaneous sampling on 16 channels since asynchronous sampling can significantly distort the spectrum shapes.
\cite{bib:Frameworkmobicom12} designs a framework to scan the 2.4GHz band.
However, these two works cannot get accurate features since the scanning inevitably incurs latency of the samples on different channel, resulting the spectral information is not accurate.
ZiFi\cite{bib:ZiFiMobiCom10} and ZiFind\cite{bib:ZiFindInfocom13} recognize specific interference by leveraging periodical behaviors such as the periodical beacon of WiFi.
They depends on the a relative long-term sampling since the default period of WiFi beacon is 100ms.
Unfortunately, IALPL cannot afford that long sampling since too long detection time will consume unacceptable energy consumption and significant delay.

SoNIC\cite{bib:SoNIC} proposes a method which detects and classifies non-ZigBee interference by leveraging the received corrupted packets.
The corrupted packets are the \emph{fully received} packets that are incorrect due to CRC checks.
Different interference sources leave distinguishable signatures on ZigBee corrupted packets indicated by the corrupted bytes.
SoNIC relays on the bit errors information from corrupted packets to extract the features for classifying interference.
While IALPL cannot obtain this information since it is not guaranteed to have one complete packet reception during the short CCA time.
Besides, the accuracy of SoNIC depends on judging window of length 30 seconds, which is impossible for short-time CCA that can only afford several milliseconds.
Hence, IALPL is more challenging because IALPL just samples the channel and distinguishes ZigBee in short time without the help of corrupted packets.
That is, IALPL should detect the existence of ZigBee in quite short time even \emph{partial packet} is presented, which is impossible by SoNIC.
%
%\begin{figure}[t]
%\centering
%\includegraphics[width=3.5in]{figure/draft-2.pdf}
%\caption{Overview of the usage of 2.4GHz of different technologies}
%\label{fig:spectrumOverview}
%\end{figure}



